package com.cac.demo.newCode.sorting.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * <p>
 * 出库申请单主表
 * </p>
 *
 * @author xz
 * @since 2024-08-27
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("WMS_INV_OUT_BILL_H")
public class WmsInvOutBillH implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键ID;
     */
    @TableField("WMS_INV_OUT_BILL_H_ID")
    private String wmsInvOutBillHId;

    /**
     * 原始单据ID
     */
    @TableField("ORIGINAL_ORDER_ID")
    private String originalOrderId;

    /**
     * 需求计划ID
     */
    @TableField("WMS_REQUIRED_MAIN_ID")
    private String wmsRequiredMainId;

    /**
     * 按计划移交记录加工订单mrpSoId，在成品批料和交接出库用到
     */
    @TableField("SONO")
    private String sono;

    /**
     * 申请单号
     */
    @TableField("BILL_NO")
    private String billNo;

    /**
     * 库存事务处理类型代码
     */
    @TableField("INV_TRANSACT_TYPE_CODE")
    private String invTransactTypeCode;

    /**
     * 单据状态 ^0-编辑中，5-已确认，10-审批通过，15-部分配套，20-已配套，23-已交检，24-已检验，25-已定位配套库，27-检验驳回，30-部分发放，35-已发放满足，37-配送退回，40-已接收，45-已关闭
     */
    @TableField("O_STATUS")
    private String oStatus;

    /**
     * 机型编码
     */
    @TableField("PRODUCT_CODE")
    private String productCode;

    /**
     * 批次号
     */
    @TableField("BATCH_NO")
    private String batchNo;

    /**
     * 起始架次
     */
    @TableField("START_LOT_NO")
    private Integer startLotNo;

    /**
     * 截止架次
     */
    @TableField("END_LOT_NO")
    private Integer endLotNo;

    /**
     * AO号
     */
    @TableField("AO_NO")
    private String aoNo;

    /**
     * AO工艺文件号
     */
    @TableField("AO_PLAN_ID")
    private String aoPlanId;

    /**
     * AO版本号
     */
    @TableField("AO_VERSION")
    private String aoVersion;

    /**
     * 库房ID
     */
    @TableField("WMS_INVENTORY_ID")
    private String wmsInventoryId;

    /**
     * 库房所属部门编码
     */
    @TableField("INV_ORG_CODE")
    private String invOrgCode;

    /**
     * 库房所属分厂简码
     */
    @TableField("INV_SHOP")
    private String invShop;

    /**
     * 申请人工号
     */
    @TableField("APPLY_EMP_CODE")
    private String applyEmpCode;

    /**
     * 申请部门编码
     */
    @TableField("APPLY_ORG_CODE")
    private String applyOrgCode;

    /**
     * 申请分厂简码
     */
    @TableField("APPLY_SHOP")
    private String applyShop;

    /**
     * 需求日期
     */
    @TableField("REQ_DATE")
    private LocalDateTime reqDate;

    /**
     * 是否配送；Y配送，N领用
     */
    @TableField("DELIVERY_FLAG")
    private String deliveryFlag;

    /**
     * 配送计划提交；N未提交，Y已提交
     */
    @TableField("DELIVERY_START")
    private String deliveryStart;

    /**
     * 配送日期
     */
    @TableField("DELIVERY_DATE")
    private LocalDateTime deliveryDate;

    /**
     * 配送计划提交日期
     */
    @TableField("DELIVERY_REG_DATE")
    private LocalDateTime deliveryRegDate;

    /**
     * 任务编号
     */
    @TableField("TASK_NO")
    private String taskNo;

    /**
     * 条码
     */
    @TableField("BAR_CODE")
    private String barCode;

    /**
     * 是否退库标记^ N正常出库单，Y领用退库单
     */
    @TableField("RET_FLAG")
    private String retFlag;

    /**
     * 退库类型^ 0非退库，1余料退库，2工艺退库，3故障品退库
     */
    @TableField("RET_TYPE")
    private String retType;

    /**
     * 退库原因^
     */
    @TableField("RET_REASON")
    private String retReason;

    /**
     * 零组件成品配套状态; 无，未配套，未完全配套,已配套,已出库满足
     */
    @TableField("PART_PK_STAT")
    private String partPkStat;

    /**
     * 零组件配套状态; 无，未配套，未完全配套,已配套,已出库满足
     */
    @TableField("MANUF_PK_STAT")
    private String manufPkStat;

    /**
     * 成品配套状态; 无，未配套，未完全配套,已配套,已出库满足
     */
    @TableField("PURC_PK_STAT")
    private String purcPkStat;

    /**
     * 标准件配套状态; 无，未配套，未完全配套,已配套,已出库满足
     */
    @TableField("STD_PK_STAT")
    private String stdPkStat;

    /**
     * 原材料辅料配套状态; 无，未配套，未完全配套,已配套,已出库满足
     */
    @TableField("MATE_PK_STAT")
    private String matePkStat;

    /**
     * 去向信息(试飞站用)
     */
    @TableField("DESTINATION")
    private String destination;

    /**
     * 配送位置
     */
    @TableField("DELIVERY_DOC")
    private String deliveryDoc;

    /**
     * 出库备注
     */
    @TableField("OUT_REMARK")
    private String outRemark;

    /**
     * 段位编码
     */
    @TableField("MILESTONE_CODE")
    private String milestoneCode;

    /**
     * 段位名称
     */
    @TableField("MILESTONE_NAME")
    private String milestoneName;

    /**
     * 工位编码
     */
    @TableField("WORKPLACE_CODE")
    private String workplaceCode;

    /**
     * 工位名称
     */
    @TableField("WORKPLACE_NAME")
    private String workplaceName;

    /**
     * 备注
     */
    @TableField("REMARK")
    private String remark;

    /**
     * 创建人
     */
    @TableField("CREATED_BY")
    private String createdBy;

    /**
     * 创建时间
     */
    @TableField("CREATION_DATE")
    private LocalDateTime creationDate;

    /**
     * 最后修改人
     */
    @TableField("LAST_UPDATED_BY")
    private String lastUpdatedBy;

    /**
     * 最后修改时间
     */
    @TableField("LAST_UPDATE_DATE")
    private LocalDateTime lastUpdateDate;

    /**
     * 最后更新IP
     */
    @TableField("LAST_UPDATE_IP")
    private String lastUpdateIp;

    /**
     * 版本
     */
    @TableField("VERSION")
    private Long version;

    /**
     * 自定义字段20,AO配套段位代码
     */
    @TableField("ATTRIBUTE20")
    private String attribute20;

    /**
     * 自定义字段19,AO配套段位名称
     */
    @TableField("ATTRIBUTE19")
    private String attribute19;

    /**
     * 自定义字段18,AO配套工位代码
     */
    @TableField("ATTRIBUTE18")
    private String attribute18;

    /**
     * 自定义字段17,AO配套工位名称
     */
    @TableField("ATTRIBUTE17")
    private String attribute17;

    /**
     * 自定义字段16,配送单号
     */
    @TableField("ATTRIBUTE16")
    private String attribute16;

    /**
     * 自定义字段15
     */
    @TableField("ATTRIBUTE15")
    private String attribute15;

    /**
     * 自定义字段14
     */
    @TableField("ATTRIBUTE14")
    private String attribute14;

    /**
     * 自定义字段13
     */
    @TableField("ATTRIBUTE13")
    private String attribute13;

    /**
     * 自定义字段12
     */
    @TableField("ATTRIBUTE12")
    private String attribute12;

    /**
     * 自定义字段11
     */
    @TableField("ATTRIBUTE11")
    private String attribute11;

    /**
     * 自定义字段10
     */
    @TableField("ATTRIBUTE10")
    private String attribute10;

    /**
     * 自定义字段9
     */
    @TableField("ATTRIBUTE9")
    private String attribute9;

    /**
     * 自定义字段8
     */
    @TableField("ATTRIBUTE8")
    private String attribute8;

    /**
     * 自定义字段7
     */
    @TableField("ATTRIBUTE7")
    private String attribute7;

    /**
     * 自定义字段6
     */
    @TableField("ATTRIBUTE6")
    private String attribute6;

    /**
     * 自定义字段5
     */
    @TableField("ATTRIBUTE5")
    private String attribute5;

    /**
     * 自定义字段4
     */
    @TableField("ATTRIBUTE4")
    private String attribute4;

    /**
     * 自定义字段3
     */
    @TableField("ATTRIBUTE3")
    private String attribute3;

    /**
     * 自定义字段2
     */
    @TableField("ATTRIBUTE2")
    private String attribute2;

    /**
     * 自定义字段1
     */
    @TableField("ATTRIBUTE1")
    private String attribute1;

    /**
     * 弹性域上下文
     */
    @TableField("ATTRIBUTE_CATEGORY")
    private String attributeCategory;

    /**
     * ATTRIBUTE20描述
     */
    @TableField("ATTRIBUTE20_DESC")
    private String attribute20Desc;

    /**
     * ATTRIBUTE19描述
     */
    @TableField("ATTRIBUTE19_DESC")
    private String attribute19Desc;

    /**
     * ATTRIBUTE18描述
     */
    @TableField("ATTRIBUTE18_DESC")
    private String attribute18Desc;

    /**
     * ATTRIBUTE17描述
     */
    @TableField("ATTRIBUTE17_DESC")
    private String attribute17Desc;

    /**
     * ATTRIBUTE16描述
     */
    @TableField("ATTRIBUTE16_DESC")
    private String attribute16Desc;

    /**
     * ATTRIBUTE15描述
     */
    @TableField("ATTRIBUTE15_DESC")
    private String attribute15Desc;

    /**
     * ATTRIBUTE14描述
     */
    @TableField("ATTRIBUTE14_DESC")
    private String attribute14Desc;

    /**
     * ATTRIBUTE13描述
     */
    @TableField("ATTRIBUTE13_DESC")
    private String attribute13Desc;

    /**
     * ATTRIBUTE12描述
     */
    @TableField("ATTRIBUTE12_DESC")
    private String attribute12Desc;

    /**
     * ATTRIBUTE11描述
     */
    @TableField("ATTRIBUTE11_DESC")
    private String attribute11Desc;

    /**
     * ATTRIBUTE10描述
     */
    @TableField("ATTRIBUTE10_DESC")
    private String attribute10Desc;

    /**
     * ATTRIBUTE9描述
     */
    @TableField("ATTRIBUTE9_DESC")
    private String attribute9Desc;

    /**
     * ATTRIBUTE8描述
     */
    @TableField("ATTRIBUTE8_DESC")
    private String attribute8Desc;

    /**
     * ATTRIBUTE7描述
     */
    @TableField("ATTRIBUTE7_DESC")
    private String attribute7Desc;

    /**
     * ATTRIBUTE6描述
     */
    @TableField("ATTRIBUTE6_DESC")
    private String attribute6Desc;

    /**
     * ATTRIBUTE5描述
     */
    @TableField("ATTRIBUTE5_DESC")
    private String attribute5Desc;

    /**
     * ATTRIBUTE4描述
     */
    @TableField("ATTRIBUTE4_DESC")
    private String attribute4Desc;

    /**
     * ATTRIBUTE3描述
     */
    @TableField("ATTRIBUTE3_DESC")
    private String attribute3Desc;

    /**
     * ATTRIBUTE2描述
     */
    @TableField("ATTRIBUTE2_DESC")
    private String attribute2Desc;

    /**
     * ATTRIBUTE1描述
     */
    @TableField("ATTRIBUTE1_DESC")
    private String attribute1Desc;

    /**
     * 密级
     */
    @TableField("SECURITY_LEVEL")
    private BigDecimal securityLevel;

    /**
     * 领用计划类型
     */
    @TableField("PLAN_TYPE")
    private String planType;

    /**
     * 批架次信息
     */
    @TableField("BATCHNOTE")
    private String batchnote;

    /**
     * 组合件id
     */
    @TableField("PARENT_ITEM_ID")
    private String parentItemId;

    /**
     * 组合件的质量编号
     */
    @TableField("PARENT_QUALITY_CODE")
    private String parentQualityCode;

    /**
     * 主制工段
     */
    @TableField("MAIN_MACHINING_GD")
    private String mainMachiningGd;

    /**
     * 分工路线上的接收部门简码
     */
    @TableField("RECEIVE_ORG_CODE")
    private String receiveOrgCode;

    /**
     * 任务流水号
     */
    @TableField("TASK_NUMBER")
    private String taskNumber;

    @TableField("AO_SCRAP_NO")
    private String aoScrapNo;

    /**
     * 出库单类型 ^取自表WMS_INVENTORY_TRANSACTION
     */
    @TableField("WMS_INVENTORY_TRANSACTION_ID")
    private String wmsInventoryTransactionId;

    /**
     * 产品机型ID；取自物料表MDS_ITEM_ID
     */
    @TableField("PRODUCT_ID")
    private String productId;

    /**
     * 是否下料：Y下料，N不需下料
     */
    @TableField("BLANKING_FLAG")
    private String blankingFlag;

    /**
     * 下料站点ID ^  下料标记为Y 时本字段生效
     */
    @TableField("WMS_BLANKING_SITE_ID")
    private String wmsBlankingSiteId;

    /**
     * 下料派工单ID ^ 下料标记为Y 时本字段生效
     */
    @TableField("WMS_BLANKING_DISPATCH_LIST_ID")
    private String wmsBlankingDispatchListId;

    /**
     * 申请人
     */
    @TableField("APPLY_USER_ID")
    private String applyUserId;

    /**
     * 申请部门
     */
    @TableField("APPLY_DEPT_ID")
    private String applyDeptId;

    /**
     * 申请日期
     */
    @TableField("APPLY_DATE")
    private LocalDateTime applyDate;

    /**
     * 库房所属部门ID
     */
    @TableField("INV_DEPT_ID")
    private String invDeptId;

    /**
     * 稽核标记^ 0未稽核，1已稽核
     */
    @TableField("AUDIT_FLAG")
    private String auditFlag;

    /**
     * 稽核日期^
     */
    @TableField("AUDIT_DATE")
    private LocalDateTime auditDate;

    /**
     * 稽核人
     */
    @TableField("AUDIT_USER")
    private String auditUser;

    /**
     * 稽核备注
     */
    @TableField("AUDIT_REMARK")
    private String auditRemark;

    /**
     * 数据来源^ 0手工维护，MES-ao需求，INV交接出库，IMM直接发放,WZ物资领用，MAT下料出库,MFO由mes来的fo小组件需求，CPP来源于成品批料,IFO专业厂库房领用材料，IQS质量模块技术服务部出库,DZ锻铸件需求出库,GEL超期品出库,PUR机电成品出库
     */
    @TableField("CONTENT_SOURCE")
    private String contentSource;

    /**
     * AO文件ID
     */
    @TableField("MDS_AO_MAIN_ID")
    private String mdsAoMainId;

    /**
     * 工作流实例ID
     */
    @TableField("PROCESSINSTANCEID")
    private String processinstanceid;

    /**
     * 组合件图号
     */
    @TableField("PARENT_ITEM_CODE")
    private String parentItemCode;

    /**
     * 配送单号
     */
    @TableField("DELIVERY_NO")
    private String deliveryNo;

    /**
     * 是否工控
     */
    @TableField("IS_GK")
    private String isGk;

    /**
     * 试飞AO计划表主键
     */
    @TableField("MOM_PLA_AO_PLAN_ID")
    private String momPlaAoPlanId;

    /**
     * 退库申请表主键
     */
    @TableField("WMS_RETURN_APPLY_ID")
    private String wmsReturnApplyId;


}
